package com.example.lib.muchthread;

/**
 * join:
 * 当A线程执行到了B线程的.join方法，A就会等待，等B线程都执行完，A才会执行。
 * join可以用来临时加入线程执行。
 *
 * 设置线程优先级：setPriority   一般有3个级别：1,5,10。分别对应MIN_PRIORITY,NORM_PRIORITY,MAX_PRIORITY
 *
 * yield,暂停当前正在执行的线程对象，并执行其他线程。
 */

class Demo150 implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 70; i++) {
            System.out.println(Thread.currentThread().getName()+"..."+i);
        }
    }
}

public class s_thread_join_150_151 {
    public static void main(String[] args) throws InterruptedException {
        Demo150 demo=new Demo150();

        Thread t1=new Thread(demo);
        Thread t2=new Thread(demo);

        t1.start();
//        t1.join();
        t1.setPriority(Thread.NORM_PRIORITY);
        t2.start();
//        t1.join();
        for (int i = 0; i < 80; i++) {
            System.out.println("main..."+i);
        }
        System.out.println("over");
    }
}
